Controlling content displayed on multiple display devices

ABSTRACT

A technique includes communicating a display device attachment status to an operating system to inform the operating system whether a first display device is attached to a second display device. The technique includes controlling content displayed on the second display device, including controlling whether the second display device is an extension of the first display device based at least in part on the display device attachment status.

BACKGROUND

A computer system, such as a desktop-based or laptop-based computersystem, may include multiple monitors, and a user of the computer systemmay define how an operating system of the computer system manages themultiple monitors. For example, a user may configure the computer sothat the operating system treats one of the monitors as being anextension of the other. With this monitor extension configuration, theuser may, for example, drag an object that is displayed on a firstmonitor to and beyond a display boundary of the first monitor to causethe object to be moved to (and displayed on) a second monitor. Asanother example, with this monitor extension configuration, a firstmonitor may be used to display email messages, and a second monitor maydisplay attachments that are opened from the email messages. Othermonitor configurations are possible. For example, the user may configurethe computer system to display the same content on two monitors, or, forthe case of a laptop-based computer system, the user may disable thelaptop computer's built-in monitor, while enabling a larger standalonemonitor that is connected to the laptop computer.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a computer having multiple displaypanels according to an example implementation.

FIG. 2A is an illustration of the display panels of the computer of FIG.1 being detached from each other and one of the display panels beingpositioned above the other display panel according to an exampleimplementation.

FIG. 2B is an illustration of the display panels of the computer of FIG.1 being detached from each other and one of the display panels beingpositioned to the right of the other display panel according to anexample implementation.

FIG. 3 is an illustration of zones about a first display panel in whichanother display panel may be positioned according to an exampleimplementation.

FIG. 4 is a flow diagram depicting a technique to control contentdisplayed on first and second display devices based on whether thedisplay devices are attached to each other.

FIG. 5 is a flow diagram depicting a technique to control contentdisplayed on first and second display devices based on relative displaydevice orientation according to an example implementation.

FIG. 6 is a flow diagram depicting a technique to control contentmovement between first and second display devices according to anexample implementation.

FIG. 7 is a schematic diagram of a display panel according to an exampleimplementation.

DETAILED DESCRIPTION

In accordance with example implementations that are described herein, anelectronic device (a portable computer, for example) has multipledisplay panels, which may be attached to each other or may be detachedfrom each other. More specifically, in accordance with exampleimplementations, an electronic device may include two display panelsthat may be attached to each other to form a hinged connection betweenthe display panels. In this context, a “display panel” is an exampleimplementation of a display device, which is constructed to displayvisual content that is generated by a hardware processor. In accordancewith example implementations, the display panel is a unit, whichcontains, among other potential components, a housing and an electronicvisual display device (a light emitting diode (LED)-based touch screen,for example) that has a display surface (called a “display” herein). Inaccordance with example implementations, the display panel may contain agraphics processor to render and display content on its visual displaydevice of the display panel, along with other components (one ormultiple central processing units (CPUs), memory components, one ormultiple wireless communication interfaces, and so forth).

In accordance with example implementations, when the display panels areattached to form the hinged connection, the display panels may berotatably positioned about the hinged connection to configure theelectronic device for various device modes. More specifically, theopening angle (the angle about the hinge connection axis) between thedisplay panels may be varied, and the electronic device may beappropriately spatially oriented to configure the electronic device inone of its device modes. As examples, the device modes may include a“clam shell” device mode in which the electronic device may be used likea laptop computer. For the clam shell device mode, the opening angle isclose to or near ninety degrees, similar to the working position of thelaptop computer. As other examples, the device mode may be a tabletdevice mode in which the display panels are fully opened so that theelectronic device may be used similar to a tablet computer; a tentdevice mode (a mode in which the display panels are supported on theiredges with the hinged connection being elevated so that the electronicdevice resembles a tent) in which the electronic device may be used, forexample, in a collaborative or gaming application in which two users mayeach interact with a different display panel; a stand device mode (amode in which one of the display panels serves as a stand to support theother display panel) in which the electronic device may be used to, forexample, play video content (a movie, for example) for the user; and soforth.

The display panels may be detached from each other at the hingeconnection, and when detached, the display panels may wirelesslycommunicate data (communicate graphics data, user input data, and soforth) with each other. As an example, the display panels may bedetached for purposes of gaming or collaboration between two users whohold the two, detached display panels.

The electronic device contains an operating system that manages thecontent displayed on the display panels, regardless of whether thedisplay panels are detached or attached to each other. When the displaypanels are detached, the operating system may, depending on user-definedoptions, treat one display panel as being an extension of the other. Forexample, a user, holding a first display panel, may, via a swiping touchgesture, move an object (a window, for example) that is being displayedon the display of the first display panel to a display boundary of thefirst display panel; and moreover, the user may, through, a swipingtouch gesture, move the object to the second display panel.

Challenges may arise, however, in managing content displayed by multipledisplay devices, such as the display panels, when the display panels maybe attached and detached. In this manner, the user may expect onedisplay panel to be treated as an extension of the other when thedisplay panels are detached from each other, but the user may not expectthis extension when the display panels are attached to each other. Ifnot for the techniques and systems that are described herein, however,the operating system may be unaware of the connection status, i.e., theoperating system may not know whether the display panels are attached ordetached.

Another potential challenge to managing content displayed by multipledisplay devices, such as the display panels, when the display panels maybe detached, pertains to interpreting user input for purposes of movingcontent from one display panel to the other. For example, when thedisplay panels are detached, the selection of an object that isdisplayed on the display of a first display panel along with aleft-to-right swiping touch gesture may be expected to move the objectto the display of a second display panel if the second display panel isdisposed to the right of the first display panel. If the second displaypanel is disposed below the first display panel, the user would notexpect the object to be transferred to the second display panel withthis input, but rather, the user would expect that a left-to-rightswiping touch gesture would not move the object beyond the right displayboundary of the first display panel. If not for the techniques andsystems that are described herein, however, the operating system may beunaware of the relative orientations of detached display panels, and assuch, the operating system may not have the information to appropriatelyprocess a user input that moves an object toward a display boundary ofthe display panel.

Example implementations are described herein in which a displayattachment status, which indicates whether a first display device isphysically attached to a second display device, is communicated to anoperating system. The operating system may therefore control whether onedisplay device is treated as an extension of the other (such as when thedisplay devices are detached) or whether content on the first and seconddisplay devices is controlled independently (such as when the displaydevices are attached). Moreover, in accordance with exampleimplementations that are described herein, for display devices that aredetached, the operating system is apprised of the relative orientationof one display device relative to the other display device so that theoperating system may control movement of content between the displaydevices based at least in part on the orientation and user input that isassociated with the movement of content.

Referring to FIG. 1, as a more specific example, a computer 100 mayinclude multiple display devices, such as display panels 110 and 150. Asdepicted in FIG. 1, the display panels 110 and 150 may be attached toeach other via hinge connection 180. In this manner, in accordance withexample implementations, the hinge connection 180 may form a releasablelatch. In this manner, the hinge connection 180 may be formed frommating hinge members that are constructed to be attached to each otherto attach the display panels 110 and 150 together, and the mating hingemembers may be further constructed to allow the display panels 110 and150 to be detached from each other. When the display panels 110 and 150are connected by the hinge connection 180, the display panels 110 and150 may be pivoted about the axes of the hinge connection 180 to changean opening angle Θ between the display panels 110 and 150. In thismanner, the opening angle Θ may vary from zero (when the computer 100 isclosed) to three hundred sixty degrees when the computer 100 isconfigured to be in a tablet device mode. For the orientation that isdepicted in FIG. 1, the computer 100 resembles the working position of alaptop computer and is in a clam shell device mode. In the clam shelldevice mode, the bottom display panel 150 may be used for purposes ofuser input (input via a displayed virtual keyboard, for example); andthe upper display unit 110 may display content that is generated by anoperating system, utilities, applications, and so forth.

In accordance with example implementations, the computer 100 includes adisplay management engine 130, which may be part of an operating system131 of the computer 100. The display management engine 130, among itsother functions, controls whether one of the display panels 100 and 150may be treated as an extension of the other. In this manner, when thedisplay panels 110 and 150 are attached, as depicted in FIG. 1, thedisplay management engine 130, in accordance with exampleimplementations, configures the computer 100 so that the contentdisplayed on the display 112 (of the display panel 110) is independentof the content displayed on the display 152 (of the display panel 150),i.e., one display panel 110, 150 is not treated as an extension of theother. Therefore, user input, such as a mouse movement or a swipingtouch gesture, may not be used to move an object from the display 112(as an example) to the display 152. Thus, the operating system 131confines the content displayed on the display panel 110 to theboundaries of the display 112 and confines content displayed on thedisplay panel 150 to the boundaries of the display 152.

Referring to FIG. 2A in conjunction with FIG. 1, the display panels 110and 150 may be detached at the hinge connection 180, which allows theorientation of the display panel 110 relative to the display panel 150to change. For example, FIG. 2A depicts an example relative orientationof the display panels 110 and 150, when detached, in which the displaypanel 110 is disposed above the display panel 150. Due to the displaypanels 110 and 150 being detached, the display management engine 130allows, with the appropriate user input, content that is displayed onthe display 112 of the display panel 110 to be moved to the display 152of the display panel 150, and vice versa.

For the specific example of FIG. 2A, user input associated with anup-to-down direction 204 may be interpreted by the operating system 131as requesting downward movement of an object that is displayed on thedisplay 112. For example, the object may be a window 200, which may bedragged, for example, by user input along the direction 204. When thebottom edge of the window 200 reaches the lower boundary of the display112, for example, further movement, through user input along thedirection 204 may cause the operating system 131 to move the window 200onto the display 152 of the display panel 150 so that the window 200appears on the display 152 of the display panel 150. In accordance withexample implementations, the display panel 110 may contain a centralprocessing unit (CPU) that executes instructions to form the operatingsystem 131, and the display panel 110 may use a wireless connection 220to communicate data, representing the content to be displayed on thedisplay 152, to the display panel 150. In a similar manner, the usermay, through a mouse-directed input or a swiping touch gesture in adirection opposite to the direction 204 may move an object that isdisplayed on the display 152 to the display 112.

Referring to FIG. 2B in conjunction with FIG. 1, as another example, thedisplay panel 110 may be located to the left of display panel 150. Forthis example, the operating system 131 responds to user input directingmovement of the window 202 (an example object) along a left-to-rightdirection 202 to the right of the display 112. In response to furtheruser input directing movement along the direction 202 when the rightedge of the window 200 is disposed at the right boundary of the display112, the operating system 131 may then transfer the window 200 to thedisplay 152.

Referring back to FIG. 1, in accordance with example implementations,the computer system 100 includes a hinge attachment sensor 101 forpurposes of indicating, or representing, whether the display panels 110and 150 are attached or detached. As an example in accordance with someimplementations, the sensor 101 may be an optical sensor that ispositioned to sense the interruption of light when the hinge connection180 is formed, thereby providing a signal to represent, or indicate,whether the display panels 110 and 150 are attached or detached. Thesensor 101 may be a sensor other than an optical sensor (such as amagnetic sensor, a contact sensor, and so forth), in accordance withfurther implementations.

Thus, referring to FIG. 4 in conjunction with FIG. 1, in accordance withsome implementations, a technique 400 includes communicating (block 404)a display attachment status to an operating system to inform theoperating system whether a first display device is attached to a seconddisplay device. Content that is displayed on the second display devicemay then be controlled (block 408), including controlling whether thesecond display device is an extension of the first display device basedat least in part on the display attachment status. As an example, inaccordance with some implementations, if the display panels 110 and 150are attached, then the operating system may control content displayed onthe respective displays 112 and 152 independently from each other andnot respond to user input that would otherwise direct the movement ofcontent from one display panel 110, 150 to the other. As such, objectsmay be moved to a boundary of the display of one display panel withoutbeing transferred to the display of the other display panel. However,when the display attachment status indicates that the display panels 110and 150 are detached, then the operating system 131 may move contentbeyond the display boundary to another display based on user-directedmovement input.

A potential challenge with moving content between detached displaypanels is that the operating system 131 may be unaware of the relativeorientation of one display panel 110, 150 relative to the other. Forexample, referring back to FIG. 2A, if the operating system 131 isunaware of the relative orientations of the detached display panels 110and 150, then the operating system 131 would not know whetheruser-directed movement along the left-to-right direction 202 or theup-to-down direction 204 may be used to move an object, such as thewindow 200, to the display 152 of the display panel 150.

Referring back to FIG. 1, in accordance with example implementations,the computer 100 includes one or multiple sensors for purposes ofidentifying the orientation of the display panel 110 relative to thedisplay panel 150. More specifically, in accordance with someimplementations, the computer 100 may include antennas and radios thatmay be used for purposes of determining the relative orientation. Forexample, in accordance with some implementations, the display panel 110contains one or multiple antennas 122 that are coupled to one ormultiple radios 124. In a similar manner, the display panel 150 mayinclude one or multiple antennas 158 that are coupled to one or multipleradios 160.

In this manner, in accordance with example implementations, the displaymanagement engine 130 may employ a triangulation technique for purposesof determining the orientation of the display panels 110 and 150. Forexample, the display management engine 130 may, based on received signalstrength indicators (RSSIs), which are provided by the radios 124 andknowledge of the spatial orientations of the antennas on the displaypanels 110 and 152, determine the approximate relative orientations ofthe display panel 150 relative to the display panel 110.

Referring to FIG. 3 in conjunction with FIG. 1, in accordance with someimplementations, the display management engine 130 may, based on theresults of the triangulation technique, classify whether the seconddisplay panel 150 is in one of four quadrants relative to the firstdisplay panel 110: a right quadrant 304, a left quadrant 308, and anupper quadrant 312 or a lower quadrant 316. As shown in FIG. 3, thequadrants may be demarcated by diagonally extending boundaries. Forexample, the upper 312 and right 304 quadrants may be separated by aboundary 324 that extends upwardly and to the right from the upper,right corner of the display panel 110. Similarly, the other quadrants304, 308, 312 and 316 may be separated by similar boundaries 326(separating the right 304 and lower 316 quadrants), 328 (separating thelower 316 and left 308 quadrants), and 322 (separating the left 308 andupper 312 quadrants).

The example that is depicted in FIG. 3 is for a landscape orientation ofthe display panel 110. The interpretation of the relative orientationsmay depend on whether the display panel 110 is oriented in a landscapeorientation (as depicted in FIG. 3) or in a portrait configuration inwhich the display panel 110 is rotated by ninety degrees relative to theorientation shown in FIG. 3. In this manner, for a portrait orientationin which the display panel 110 is rotated ninety degreescounterclockwise from the orientation depicted in FIG. 3, the upperquadrant 312 becomes the right quadrant, the right quadrant 304 becomesthe lower quadrant, and so forth.

Referring to FIG. 1, for purposes of determining whether the displaypanel 110 is oriented in a portrait, reverse portrait (i.e., rotated onehundred eighty degrees from the portrait orientation), landscape orreverse landscape orientations, the display panel 110 may include one ormultiple accelerometers 114. For example, in accordance with someimplementations, the display panel 110 may include three accelerometershaving respective sensitivities directed along three orthogonal axes. Ina similar manner, the display panel 150 may contain one or multipleaccelerometers 154. It is noted that determinations of the orientationof the display panel 110, 150 may be, in general, used for such purposesas determining the relative orientations of one display panel 110, 150relative to the other display panel 110, 150; determining which edge ofone display panel 110, 150 is adjacent to the other display panel 110,150; determining the orientation of content displayed on the displaypanel 110, 150; and so forth.

Thus, referring to FIG. 5A in conjunction with FIG. 1, in accordancewith example implementations, a technique 500 includes detecting (block504) the orientation of a first display device relative to a seconddisplay device. Pursuant to block 508, the technique 500 includescontrolling the extension of content displayed on the first displaydevice to the second display device based at least in part on adirection associated with user input and the detected orientation. Inthis manner, referring to FIG. 5B, a system 520 in accordance withexample implementations includes a first display device 524, a seconddisplay device 528, at least one sensor 530 and a processor 540. Thesensor(s) 530 detects an orientation 542 of the first display device 524relative to the second display device 528. The processor 540 controlsextending content displayed on the first display device 524 relative tothe second display device 528 in response to a direction associated witha user input 544 based at least in part on the detected orientation 542.

Referring back to FIG. 1, in accordance with example implementations,the display panel 150 may have one or more components similar to thedisplay panel 110. For example, the display panel 150 may include theaccelerometers 154; the radios 160; the antennas 158; and so forth.Moreover, as depicted in FIG. 1, in accordance with someimplementations, user input units 110 and 150 may communicate wirelesslywhen detached from each other. For example, in accordance with someimplementations, the display panels 110 and 150 may include respectivewireless communication interfaces 115 and 170. These wirelesscommunication interfaces 115 and 170 may or may not include the radios124 and 160, depending on the particular implementations. As a morespecific example, the wireless communication interfaces 115 and 170 maysupport communications that comply with IEEE 802.11 (i.e., WiFi-basedcommunications).

In accordance with example implementations, the display managementengine 130 may take into account the display device attachment statusand the relative display device orientation for purposes of controllingthe movement of content between the display devices. More specifically,referring to FIG. 6 in accordance with example implementations, thedisplay management engine may receive (block 604) data representingwhether display devices are attached and upon a determination (decisionblock 610) that the display devices are attached, the display managementengine may control (block 614) displayed content on each display deviceindependently. Upon determination (decision block 610) that the displaydevices are detached, the display management engine may determine (block618) the relative orientations of the display devices and control (block622) movement of the displayed content based at least in part on thedetermined orientation and the user input associated with contentmovement, pursuant to block 622.

In accordance with example implementations, the display managementengine may be configured by user-defined options. For example, inaccordance with some implementations, a graphical user interface (GUI)117 (FIG. 1) of the computer 100 may allow the user to define if contentis to be extended between the two display panels 110 and 150 when thedisplay panels 110 and 150 are detached. For example, in accordance withsome implementations, the user, via the GUI 117, may provide inputindicating a configuration option in which content is not to be extendedbetween the display panels 110 and 150 when the display panels 110 and150 are detached. As another example, the user, via the GUI 117, maydisable the display of one of the display panels 110 and 150.

Referring to FIG. 7, in accordance with example implementations, thedisplay panel 110 may have an architecture, such as the one depicted inFIG. 7. It is noted that the display panel 150 may have a similararchitecture.

The display panel 110, in general, is an actual, physical machine thatis made up of actual hardware 710 and machine executable instructions750, or “software.” In accordance with some implementations, thehardware 710 may include one or multiple processors 714 (one or multiplecentral processing units (CPUs), one or multiple CPU processing cores,and so forth). The hardware 710 may include a memory 720, which may, forexample, contain data representing user-defined configuration optionsfor display content management; data pertaining to images displayed onthe display screens of the display panels; and so forth. The memory 720may further store executable instructions that, when executed by theprocessor (714) may cause the processor (714) to perform some or all ofone or more of the techniques that are described herein.

In general, the memory 720 is a non-transitory memory that may be formedfrom, as examples, semiconductor storage devices, memristors, magneticstorage devices, phase change memory devices, a combination of one ormore of these storage technologies, and so forth, depending on theparticular implementation.

In accordance with some implementations, the hardware 710 of the displaypanel 110 may include various other components, such as a touchscreen740 (that provides the display 112), the radios 124, the antennas 122;the wireless communication interface 115, the accelerometers 114,various input/output (I/O) devices; and so forth.

In accordance with example implementations, the machine executableinstructions 750 may include, for example, instructions that whenexecuted by the processor (714), cause the processor (714) to form oneor more of the following: instructions 754 to form the GUI 117 (FIG. 1);instructions 760 to form the operating system 131 (FIG. 1); instructions764 to form the display management engine 130 (FIG. 1); instructions 770to form one or multiple applications; and so forth.

In accordance with further example implementations, all or part of theabove-described processor-based architecture may be replaced bydedicated, hardware circuitry or by one or multiple application specificintegrated circuits (ASICs). For example, in accordance with someimplementations, the display management engine 130 may be formed fromone or multiple ASICs. Thus, many implementations are contemplated,which are within the scope of the appended claims.

While the present invention has been described with respect to a limitednumber of embodiments, those skilled in the art, having the benefit ofthis disclosure, will appreciate numerous modifications and variationstherefrom. It is intended that the appended claims cover all suchmodifications and variations as fall within the true spirit and scope ofthis present invention.

What is claimed is:
 1. A method comprising: communicating a displaydevice attachment status to an operating system to inform the operatingsystem whether a first display device is attached to a second displaydevice; and controlling content displayed on the second display device,wherein controlling the content comprises whether the second displaydevice is an extension of the first display device based at least inpart on the display device attachment status, wherein controllingwhether the second display device is an extension of the first displaydevice comprises, in response to the status indicating that the firstdisplay device is detached from the second display device, controllingthe content displayed on the first display device and the contentdisplayed on the second display device based at least in part on a userdefined configuration setting identifying a predefined relationshipbetween the first and second display devices when the first displaydevice is detached from the second display device.
 2. The method ofclaim 1, wherein controlling whether the second display device is anextension of the first display device comprises, in response to thestatus indicating that the first display device is attached to thesecond display device, controlling the content displayed on the firstdisplay device and the content displayed on the second display deviceindependently.
 3. The method of claim 1, wherein the configurationsetting identifies the second display device as being independent of thefirst display device.
 4. The method of claim 1, wherein theconfiguration setting identifies one of the first and second displaydevices as being disabled.
 5. The method of claim 1, further comprising:communicating an orientation of the second display device relative tothe first display device to the operating system; and controllingcontent displayed on the first and second display devices based at leastin part on the orientation.
 6. The method of claim 1, further comprisingcommunicating an orientation status of at least one display device ofthe first and second display devices to the operating system to indicatewhether the at least one display device is in a portrait orientation orin a landscape orientation, the method further comprising controllingcontent displayed on the first and second display devices based at leastin part on the orientation status.
 7. A system comprising: a firstdisplay device; a second display device; at least one sensor to detectan orientation of the first display device relative to the seconddisplay device, wherein the orientation identifies whether the firstdisplay device is in one of an upper quadrant relative to the seconddisplay device, the first display device is in a lower quadrant relativeto the second display device, the first display device is in a rightquadrant relative to the second display device, or the first displaydevice is in a left quadrant relative to the second display device; anda processor to control extending content displayed on the first displaydevice to the second display device in response to a directionassociated with a user input based at least in part on the detectedorientation.
 8. The system of claim 7, further comprising: a latch toreleasably attach the first and second display devices together; and asensor to detect whether the first and second display devices areattached, wherein the processor further controls extending the contentbased at least in part on whether the first and second display devicesare attached.
 9. The system of claim 7, wherein the at least one sensorcomprises at least one accelerometer attached to the first displaydevice and at least one accelerometer attached to the second displaydevice.
 10. The system of claim 7, further comprising: wirelessinterfaces attached to the first and second display devices; wherein theprocessor is attached to one of the first and second display devices anduses the wireless interfaces to communicate the content to the other ofthe first and second display devices.
 11. An article comprising anon-transitory computer readable storage medium to store instructionsthat when executed by a computer cause the computer to: receive firstdata indicating whether a first display device of the computer isattached to a second display device of the computer; in response to thefirst data indicating that the first display device is attached to thesecond display device, controlling displaying of content on the firstdisplay device independently from controlling displaying of content onthe second display device; and in response to the first data indicatingthat the first display device is detached from the second displaydevice, wherein determining the orientation comprises determiningwhether the first display device is in an upper quadrant relative to thesecond display device, the first display device is in a lower quadrantrelative to the second display device, the first display device is in aright quadrant relative to the second display device, or the firstdisplay device is in a left quadrant relative to the second displaydevice and controlling movement of content from being displayed on thefirst display device to being displayed on the second display device inresponse to user input based at least in part on second data indicatingan orientation of the second display device relative to the firstdisplay device.
 12. The article of claim 11, the storage medium storinginstructions that when executed by the computer cause the computer toallow movement of content displayed on the first display device to thesecond display device based at least in part on whether a userconfiguration setting identifies the second display device as being anextension of the first display device.
 13. The article of claim 11, thestorage medium storing instructions that when executed by the computercause the computer to: identify an edge of a display surface of thefirst display device identified by at least a direction associated withthe user input and an object displayed on the first display device;determine whether the edge is consistent with moving the object from thefirst display device to the second display device based at least in parton the orientation of the second display device relative to the firstdisplay device; and selectively move the object to the second displaydevice based at least in part on the determination.
 14. The article ofclaim 13, wherein the orientation identifies whether the second displaydevice is disposed to the right of the first display device, to the leftof the first display device, above the first display device or below thefirst display device, the storage medium storing instructions that whenexecuted by the computer cause the computer to move the object to thesecond display device based at least in part on whether the identifiededge corresponds to the orientation identifications.